<?php
class cmsdream_tqq_action {
	private $host = '';
	private $format = '';

	/*
	 *获取关于我的消息
	 * @p 数组,包括以下:
	 * @f 分页标识（0：第一页，1：向下翻页，2向上翻页）
	 * @t 本页起始时间（第一页 0，继续：根据返回记录时间决定）
	 * @n 每次请求记录的条数（1-20条）
	 * @l 当前页最后一条记录，用用精确翻页用
	 * @type : 0 提及我的, other 我广播的
	 * @return array
	 */
	public function getMine($p) {
		$p['type'] == 0 ? 	$url = $this->host . '/api/statuses/mentions_timeline?f=1' : 
							$url = $this->host . '/api/statuses/broadcast_timeline?f=1';
		$params = array(
							'format' => $this->format,
							'pageflag' => $p['f'],
							'reqnum' => $p['n'],
							'contenttype' => 4,
							'pagetime' => $p['t'],
							'lastid' => $p['l'],
							'type' => $p['utype'],
							'contenttype' => $p['ctype']
						);
		return $this->oauth->get($url, $params);
	}

	/*
	 * 获取用户消息
	 * @p 数组,包括以下:
	 * @f 分页标识（0：第一页，1：向下翻页，2向上翻页）
	 * @t 本页起始时间（第一页 0，继续：根据返回记录时间决定）
	 * @n 每次请求记录的条数（1-20条）
	 * @name: 用户名 空表示本人
	 * @return array
	 * *********************/
	public function getTimeline($p) {
		if(!isset($p['name'])) {
			$url = $this->host . '/api/statuses/home_timeline?f=1&type=4';
			$params = array(
								'format' => $this->format,
								'pageflag' => $p['f'],
								'reqnum' => $p['n'],
								'pagetime' => $p['t'],
								'type' => $p['utype'],
								'contenttype' => $p['ctype']
							);
		} else {
			$url = $this->host . '/api/statuses/user_timeline?f=1';
			$params = array(
								'format' => $this->format,
								'pageflag' => $p['f'],
								'reqnum' => $p['n'],
								'pagetime' => $p['t'],
								'name' => $p['name'],
								'lastid' => $p['l'],
								'type' => $p['utype'],
								'contenttype' => $p['ctype']
							);
		}
		return $this->oauth->get($url, $params);
	}
	
	/*
	 *获取当前用户的信息
	 * @p 数组,包括以下:
	 * @n:用户名 空表示本人
	 * @return array
	 */
	public function getUserInfo($p = false) {
		if(! $p || ! $p['n']) {
			$url = $this->host . '/api/user/info?f=1';
			$params = array('format' => $this->format);
		} else {
			$url = $this->host . '/api/user/other_info?f=1';
			$params = array('format' => $this->format, 'name' => $p['n']);
		}
		return $this->oauth->get($url, $params);
	}

	/*
	 *热门话题
	 * @p 数组,包括以下:
	 * @type: 请求类型 1 话题名，2 搜索关键字 3 两种类型都有
	 * @n: 请求个数（最多20）
	 * @pos :请求位置，第一次请求时填0，继续填上次返回的POS
	 * @return array
	 */
	public function getHotTopic($p) {
		$url = $this->host . '/api/trends/ht?f=1';
		if($p['type'] < 1 || $p['type'] > 3) {
			$p['type'] = 1;
		}
		$params = array('format' => $this->format, 'type' => $p['type'], 'reqnum' => $p['n'], 'pos' => $p['pos']);
		return $this->oauth->get($url, $params);
	}

	/*
	 *获取话题下的消息
	 * @p 数组,包括以下:
	 * @t 话题名字
	 * @f 分页标识（PageFlag = 1表示向后（下一页）查找；PageFlag = 2表示向前（上一页）查找；PageFlag = 3表示跳到最后一页  PageFlag = 4表示跳到最前一页）
	 * @p 分页标识（第一页 填空，继续翻页：根据返回的 pageinfo决定）
	 * @n 每次请求记录的条数（1-20条）
	 * @return array
	 */
	public function getTopic($p){
		$url = $this->host . '/api/statuses/ht_timeline?f=1';
		$params = array(
							'format' => $this->format,
							'pageflag' => $p['f'],
							'reqnum' => $p['n'],
							'httext' => $p['t'],
							'pageinfo' => $p['p']
						);
		return $this->oauth->get($url, $params);
	}

	/*
	 *获取转播热榜
	 * @p 数组,包括以下:
	 * @p 翻页标识
	 * @n 每次请求记录的条数（1-100条）
	 * @return array
	 */
	public function getHotTweets($p){
		$url = $this->host . '/api/trends/t?f=1';
		$params = array('format' => $this->format,'pos' => $p['p'],'reqnum' => $p['n']);
		return $this->oauth->get($url, $params);
	}

	/*
	 *获取推荐名人列表
	 * @p 数组,包括以下:
	 * @c 请求的名人类别id（如：娱乐明星类别id:101）
	 * @s 请求的名人类别的子类别id（如媒体机构类别下子类别广播id：subclass_959，若为空，则默认一个子类别，没有子类别的，此处为空）
	 * @return array
	 */
	public function getFamousList($p){
		$url = $this->host . '/api/trends/famouslist?f=1';
		$params = array('format' => $this->format,'classid' => $p['c'],'subclassid' => $p['s']);
		return $this->oauth->get($url, $params);
	}

	public function __construct($wbakey, $wbskey, $accecss_token = null, $accecss_token_secret = null) {
		$this->host = cmsdream_tqq::$_OAUTH_OPEN_HOST;
		$this->format = cmsdream_tqq::$_OAUTH_RETURN_FORMAT;
		$this->oauth = new cmsdream_tqq_open_request($wbakey, $wbskey, $accecss_token, $accecss_token_secret);
	}
	
	public function __destruct(){
	
	}
}


